import request from '@/api/request'
import { createStreamConnection } from '@/api/sse'


// 文章相关接口
export const articleApi = {
  // 获取文章列表
  getArticleList: () => {
    return request({
      url: '/python/get_articles',
      method: 'get',
    })
  },

  // 获取文章详情
  getArticleDetail: (id) => {
    return request({
      url: `/articles/${id}`,
      method: 'get'
    })
  },

  // 创建文章
  createArticle: (data) => {
    return request({
      url: '/python/write_articles',
      method: 'post',
      data
    })
  },
  // 删除文章
  deleteArticle: (id) => {
    return request({
      url: `/python/delete_article/${id}`,
      method: 'delete'
    })
  },
  
  // // 更新文章
  // updateArticle: (id, data) => {
  //   return request({
  //     url: `/python/update_article/${id}`,
  //     method: 'put',
  //     data
  //   })
  // }
}

// 聊天相关接口
export const chatApi = {
  // // 发送消息
  // sendMessage: (data) => {
  //   return request({
  //     url: '/python/chat',
  //     method: 'post',
  //     data
  //   })
  // },
  // 改为流式

  streamMessage: (data, callbacks) => {
    return createStreamConnection('/api/python/chat', data, callbacks)
  },

  // 发送图片消息
  sendVisionMessage: (data) => {
    return request({
      url: '/python/vision',
      method: 'post',
      data
    })
  }
}

// 用户相关接口
export const userApi = {
  // 用户登录
  login: (data) => {
    return request({
      url: '/python/user_login',
      method: 'post',
      data
    })
  },

  // 获取用户信息
  getUserInfo: () => {
    return request({
      url: '/python/user_info',
      method: 'get'
    })
  },

  // 更新用户信息
  updateUserInfo: (data) => {
    return request({
      url: '/python/user_update',
      method: 'put',
      data
    })
  },

  // 删除用户
  deleteUser: () => {
    return request({
      url: '/python/user_delete',
      method: 'delete'
    })
  }
}

// 旅游博客相关接口
export const travelBlogApi = {
  // 获取旅游博客列表
  getTravelBlogList: (params = {}) => {
    return request({
      url: '/python/get_travel_blogs',
      method: 'get',
      params
    })
  },

  // 获取旅游博客详情
  getTravelBlogDetail: (id) => {
    return request({
      url: '/python/get_travel_blogs',
      method: 'get',
      params: { id }
    })
  },

  // 创建或更新旅游博客（合并操作）
  saveTravelBlog: (data) => {
    return request({
      url: '/python/write_travel_blog',
      method: 'post',
      data
    })
  },

  // 更新旅游博客
  updateTravelBlog: (id, data) => {
    return request({
      url: '/python/update_travel_blog',
      method: 'post',
      data: { ...data, id }
    })
  },

  // 删除旅游博客
  deleteTravelBlog: (id) => {
    return request({
      url: '/python/delete_travel_blog',
      method: 'post',
      data: { blog_id: id }
    })
  },

  // // 批量获取旅游博客
  // batchGetTravelBlogs: (params = {}) => {
  //   return request({
  //     url: '/python/batch_get_travel_blogs',
  //     method: 'get',
  //     params
  //   })
  // },

  // // 获取旅游博客统计
  // getTravelStats: () => {
  //   return request({
  //     url: '/python/travel_stats',
  //     method: 'get'
  //   })
  // }
}

// AI项目相关接口
export const aiProjectApi = {
  // 获取AI项目列表
  getAIProjectList: (params = {}) => {
    return request({
      url: '/python/get_ai_projects',
      method: 'get',
      params
    })
  },

  // 获取AI项目详情
  getAIProjectDetail: (id) => {
    return request({
      url: '/python/get_ai_projects',
      method: 'get',
      params: { id }
    })
  },

  // 创建或更新AI项目（合并操作）
  saveAIProject: (data) => {
    return request({
      url: '/python/write_ai_project',
      method: 'post',
      data
    })
  },

  // 更新AI项目
  updateAIProject: (id, data) => {
    return request({
      url: '/python/update_ai_project',
      method: 'post',
      data: { ...data, id }
    })
  },

  // 删除AI项目
  deleteAIProject: (id) => {
    return request({
      url: '/python/delete_ai_project',
      method: 'post',
      data: { project_id: id }
    })
  },

  // 批量获取AI项目
  batchGetAIProjects: (params = {}) => {
    return request({
      url: '/python/batch_get_ai_projects',
      method: 'get',
      params
    })
  },

  // 获取AI项目统计
  getAIProjectStats: () => {
    return request({
      url: '/python/ai_project_stats',
      method: 'get'
    })
  }
}